<template>
  <div class="container">
    <h1>手写相关js api</h1>
    <h2>1. 数据类型判断</h2>
    <h2>2. 原型链继承</h2>
  </div>
</template>

<script>
export default {
  name: "shouxiejs",
  data() {
    return {};
  },
  mounted() {
    /* 数据类型判断 */
    // function typeOf(obj) {
    //   // console.log('Object.prototype', Object.prototype.toString.call(obj).split(' ')[1])
    //   let res = Object.prototype.toString.call(obj).split(" ")[1];
    //   console.log(res.substring(0,res.length - 1).toLowerCase())
    //   res = res.substring(0, res.length - 1).toLowerCase();
    //   console.log("返回值", res);
    //   return res;
    //   // 评论区里提到的更好的写法
    //   return Object.prototype.toString.call(obj).slice(8, -1).toLowerCase();
    // }
    // typeOf([]); // 'array'
    // typeOf({}); // 'object'
    // typeOf(new Date()); // 'date'

    /* 原型链继承 */
    function Animal() {
      this.colors = ["black", "white"];
    }
    Animal.prototype.getColor = function () {
      return this.colors;
    };
    function Dog() {}
    Dog.prototype = new Animal();

    let dog1 = new Dog();
    dog1.colors.push("brown");
    let dog2 = new Dog();
    console.log(dog2.colors); // ['black', 'white', 'brown']
  },
  methods: {},
};
</script>

<style></style>
